﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using WCFAccesos.Dominio;

namespace WCFAccesos.Persistencia
{
    public class GROpcionPerfilDAO
    {


        public GROpcionPerfil Obtener(int codigo)
        {
            GROpcionPerfil opcionEncontrada = null;
            using (SqlConnection con = new SqlConnection(ConexionUtil.ObtenerCadena()))
            {
                con.Open();
                using (SqlCommand com = new SqlCommand("GROpcionPerfil_Obtener", con))
                {
                    com.CommandType = CommandType.StoredProcedure;
                    com.Parameters.Add(new SqlParameter("@iCodOpcPerfil", codigo));
                    using (SqlDataReader resultado = com.ExecuteReader())
                    {
                        opcionEncontrada = CargarOpcion(resultado);
                    }
                }
            }
            if (opcionEncontrada == null)
                opcionEncontrada = new GROpcionPerfil();

            return opcionEncontrada;
        }


        private GROpcionPerfil CargarOpcion(IDataReader resultado)
        {
            GROpcionPerfil opcion = new GROpcionPerfil()
            {
                iCodOpcPerfil = Convert.ToInt32(resultado["iCodOpcPerfil"].ToString()),
                iCodOpcion = Convert.ToInt32(resultado["iCodOpcion"].ToString()),
                iCodPerfil = Convert.ToInt32(resultado["iCodPerfil"].ToString()),
                bActivoOpc = Convert.ToBoolean(resultado["bActivoOpc"].ToString()),
                iCodUsu = Convert.ToInt32(resultado["iCodUsu"].ToString()),
                vNomTer = (string)resultado["vNomTer"],
                dtFecAct = Convert.ToDateTime(resultado["dtFecAct"].ToString())
            };
            return opcion;
        }



    }
}